Taskkonfiguration
In der Taskkonfiguration definieren Sie eine oder mehrere Tasks, um den Ablauf von Programmen (POU-Objekte mit Programm-Typ) und den daraus aufgerufenen Programmierobjekten auf Ihrem Gerät zu steuern. Für jede Applikation wird ein Taskkonfiguration-Objekt benötigt. Darin legen Sie die zeitliche Abfolge für den Programmaufruf fest.
Eine Task ist die zeitliche Ablaufeinheit für Ihr IEC-Programm. Die Task legt die Aufrufkette Ihrer Programmierbausteine fest (Aufrufhierarchie).
Jede Task benötigt einen eindeutigen Namen. Im Taskkonfigurationseditor tragen Sie in einer Liste ein, welche Programme aufgerufen werden. Die Programme können applikationsspezifisch sein, dann befindet sich das Programm unter der Ansicht Geräte. Oder ein Programm kann projektweit gültig sein, dann befindet es sich unter der Ansicht POUs. Solche Programmierbausteine werden projektweit instantiiert.
Sie haben die Möglichkeit eine Task zu priorisieren. Die Priorisierung wirkt in Kombination mit dem Tasktyp.
Sie konfigurieren einen Tasktyp:
Zyklisch, für einen zeitgesteuerten Ablauf mittels Zyklusintervall. Innerhalb des Zyklusintervalls (Taskzykluszeit) werden die Programmaufrufe durchlaufen.
Freilaufend, für eine Task ohne eigene Taskzykluszeit
Ereignisgesteuert (intern oder extern) mittels Bedingung für den Ereignisstart (flankengesteuert).
Ein Ereignis ist zum Beispiel die steigende Flanke einer globalen Projektvariablen oder ein Interrupt.
Statusgesteuert mittels Bedingung
Sie haben die Möglichkeit, beispielsweise Start, Stop und Reset direkt mit der Ausführung eines Projektbausteins zu koppeln.
Außerdem können Sie für die Zeitüberwachung einen Watchdog aktivieren.
Aufgrund dieser Einstellungen in der Taskkonfiguration wird der Aufrufbaum erstellt und ausgeführt.
Auf Basis der verschiedenen möglichen Aufrufbäume wird ermittelt, welcher davon der längste mit dem höchsten Speicherbedarf ist (maximale Aufrufbaum). In der Registerkarte Stackverbrauch erhalten Sie detaillierte Informationen dazu.
Abarbeitungsreihenfolge
Regeln für die Abarbeitungsreihenfolge der konfigurierten Tasks
Wenn die Bedingung der Task erfüllt ist, wird die Task gestartet und abgearbeitet.
Wenn mehrere Tasks gleichzeitig die Bedingung zur Abarbeitung erfüllen, wird zuerst diejenige mit der höchsten Priorität abgearbeitet.
Wenn mehrere Tasks gleichzeitig die Bedingung zur Abarbeitung erfüllen und gleiche Prioritätsstufe haben, wird zuerst diejenige abgearbeitet, die bereits am längsten wartet.
Die Abarbeitung der Programmaufrufe erfolgt jeweils in der Reihenfolge, in der die Programme im Konfigurationsdialog der Task angeordnet sind.
Wenn ein Programmaufruf nicht eindeutig ist, weil Programme mit gleichem Namen im Gerätebaum der Applikation, in einer Bibliothek oder projektweit im POUs-Fenster vorhanden sind, wird das Programm, das unter dem Applikationsobjekt ist, verwendet.
Für weitere Informationen siehe: Buszyklus-Task